home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GME / TODO / REDRAW < prev    next >
Encoding:
Text File  |  1989-09-12  |  1.2 KB  |  33 lines

  1.  
  2. PROCEDURE redrawDesk (tree: PtrObjTree,
  3.                       index: CARDINAL,
  4.                       prevState: OStateSet,
  5.                       curState: OStateSet,
  6.                       space: Rectangle,
  7.                       clip: Rectangle,
  8.                       parm: LONGWORD): OStateSet;
  9.   BEGIN
  10.     SetClipping (clip); (* Zeichenbereich auf zerstörten Bereich beschränken *)
  11.     UpdateScreen (* gesamten Schirm neu zeichnen - keine AES-Aufrufe machen! *)
  12.   END redrawDesk;
  13.  
  14. (* müssen global sein: *)
  15. VAR carrier: ObjHandler.ProgDefCarrier;
  16.     stack: ARRAY [0..1000] OF CARDINAL;
  17.  
  18. BEGIN
  19.   (* Desktop auf aktuelle Größe setzen, weil das RSC-Programm einen *)
  20.   (* festen Wert eingesetzt hatte.                                  *)
  21.   devParm:= DeviceParameter (dev);
  22.   ObjHandler.SetCurrObjTree (ResourceAddr (treeRsrc, Desktop), FALSE);
  23.   space:= ObjHandler.ObjectSpace (GEMGlobals.Root);
  24.   space.w:= devParm^.rasterWidth + 1;
  25.   space.h:= devParm^.rasterHeight + 1;
  26.   ObjHandler.SetObjSpace (GEMGlobals.Root, space);
  27.  
  28.   (* Desktop-Update-Routine zuweisen *)
  29.   wsp.bottom:= ADR (stack); wsp.length:= SIZE (stack);
  30.   ObjHandler.MakeProgDefProc (carrier, redrawDesk, wsp);
  31.   ObjHandler.SetProgDefSpec (GEMGlobals.Root, carrier, 0L);
  32. END
  33.